package com.lbl.utils;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

import java.util.ResourceBundle;

public class JedisUtils {
    static JedisPool pool;
    //1.创建一个连接池
    static {
        //1.1解析properties文件
        ResourceBundle bundle = ResourceBundle.getBundle("redis");
        //获取参数
        String maxTotal = bundle.getString("maxTotal");
        String maxIdle = bundle.getString("maxIdle");
        String url = bundle.getString("url");
        String port = bundle.getString("port");

        //1.2创建连接池
        //创建连接池的配置对象
        JedisPoolConfig config = new JedisPoolConfig();
        //设置最大连接数
        config.setMaxTotal(Integer.parseInt(maxTotal));
        //设置空闲连接数
        config.setMaxIdle(Integer.parseInt(maxIdle));

        //1.3创建连接池
        pool = new JedisPool(config,url,Integer.parseInt(port));
    }

    //2.对外开放一个获取jedis的方法
    public static Jedis getRedis(){
        return pool.getResource();
    }

    //3.提供释放资源的方法
    public static void close(Jedis jedis){
        if (jedis == null) {
            jedis.close();
        }
    }
}
